package org.op.nav;

import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;

import org.op.Controller;

public interface NavigationController extends Controller {

	/**
	 * 
	 *  Generate a new model, reusing the nodes of the existing model
	 * 
	 * @param existingModel
	 * @return
	 */
	public TreeModel loadTreeModel(TreeModel existingModel);

	/**
	 * 
	 *  Respond to a double-click event on a node in the tree
	 * 
	 * @param node
	 */
	public void openNode(TreeNode node);
	
	/**
	 *  Generate a new tree from the filesystem
	 * 
	 */
	public void loadNewTree();

	/**
	 *  Refresh the entire navigation tree
	 *  
	 */
	public void reloadTree();

}
